home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Deutsche Edition 1
/
Deutsche Edition 1.iso
/
amok
/
051-060
/
amok52
/
gadgeted
/
txt
/
textwindows.mod
< prev
next >
Wrap
Text File
|
1993-11-04
|
5KB
|
153 lines
(*----------------------------------------------------------------------
:Program. TextWindows.mod
:Contents. Anzeigen von Texten (Hilfe, Copyright)
:Author. Hubert Bildstein
:Copyright. Public Domain
:Language. Modula-2
:Translator. M2Amiga V3.3d
:History. V1.0 5.12.1990
----------------------------------------------------------------------*)
IMPLEMENTATION MODULE TextWindows;
(* Darstellen von Windows mit div. Texten (Copyright, Help) *)
FROM SYSTEM IMPORT ADR, ADDRESS;
FROM Arts IMPORT Assert, TermProcedure;
FROM Intuition IMPORT NewWindow, OpenWindow, CloseWindow, WindowPtr,
WindowFlags, WindowFlagSet, customScreen,
IDCMPFlagSet, IDCMPFlags, PrintIText, IntuiText;
FROM Graphics IMPORT jam2;
FROM Message IMPORT WaitForMsg;
VAR WPtr : WindowPtr;
IText : IntuiText;
(*-------------------------------------------------------------------------*)
PROCEDURE CloseAll;
BEGIN
IF (WPtr # NIL) THEN
CloseWindow (WPtr); WPtr := NIL;
END; (*IF*)
END CloseAll;
(*-------------------------------------------------------------------------*)
PROCEDURE Copyright (SPtr : ADDRESS);
(* Kurzes Anzeigen des Copyright-Vermerks *)
VAR WDef : NewWindow;
Count : INTEGER;
class : IDCMPFlagSet;
code : CARDINAL;
adr : ADDRESS;
BEGIN
WITH WDef DO
leftEdge := 180; topEdge := 90; width := 300; height := 60;
detailPen := 0; blockPen := 1;
idcmpFlags := IDCMPFlagSet{closeWindow,intuiTicks,mouseButtons};
flags := WindowFlagSet{windowClose,windowDrag,activate,rmbTrap};
firstGadget := NIL;checkMark := NIL;
title := ADR(">>>>>>> GadgetEd V1.0 <<<<<<<");
screen := SPtr;bitMap := NIL; type := customScreen;
END; (*WITH*)
WPtr := OpenWindow(WDef);
Assert (WPtr#NIL,ADR("Error opening Text-Window"));
WITH IText DO
iText := ADR(" This program is Public Domain");
PrintIText (WPtr^.rPort,ADR(IText),10,15);
iText := ADR(" © 1990 by Hubert Bildstein");
PrintIText (WPtr^.rPort,ADR(IText),10,27);
iText := ADR("Gehenbühlstr. 5 W7000 Stuttgart 31");
PrintIText (WPtr^.rPort,ADR(IText),10,40);
iText := ADR(" Germany");
PrintIText (WPtr^.rPort,ADR(IText),10,48);
END; (*WITH*)
Count := 0;
REPEAT
WaitForMsg (WPtr,class,code,adr);
INC (Count);
UNTIL (Count >= 70) OR (closeWindow IN class) OR (mouseButtons IN class);
CloseAll;
END Copyright;
(*-------------------------------------------------------------------------*)
PROCEDURE Help (SPtr : ADDRESS);
(* Anzeigen der Tastenbelegung *)
VAR WDef : NewWindow;
class : IDCMPFlagSet;
code : CARDINAL;
adr : ADDRESS;
BEGIN
WITH WDef DO
leftEdge := 120; topEdge := 50; width := 400; height := 165;
detailPen := 0; blockPen := 1;
idcmpFlags := IDCMPFlagSet{closeWindow,mouseButtons,vanillaKey};
flags := WindowFlagSet{windowClose,windowDrag,activate,rmbTrap};
firstGadget := NIL;checkMark := NIL;
title := ADR("GadgetEd V1.0");
screen := SPtr;bitMap := NIL; type := customScreen;
END; (*WITH*)
WPtr := OpenWindow(WDef);
Assert (WPtr#NIL,ADR("Error opening Help-Window"));
WITH IText DO
iText := ADR("F1 - Delete Gadget | F2 - Move Gadget");
PrintIText (WPtr^.rPort,ADR(IText),10,15);
iText := ADR("F3 - Copy Gadget | F4 - Size Gadget");
PrintIText (WPtr^.rPort,ADR(IText),10,25);
iText := ADR("F9 - Add Gadget-Text | F10 - Change Attributes");
PrintIText (WPtr^.rPort,ADR(IText),10,35);
iText := ADR("B - Create normal Boolean-Gadget");
PrintIText (WPtr^.rPort,ADR(IText),10,45);
iText := ADR("T - Create toggleSelect Boolean-Gadget");
PrintIText (WPtr^.rPort,ADR(IText),10,55);
iText := ADR("S - Create normal String-Gadget");
PrintIText (WPtr^.rPort,ADR(IText),10,65);
iText := ADR("I - Create integer String-Gadget");
PrintIText (WPtr^.rPort,ADR(IText),10,75);
iText := ADR("X - Create horizontal Proportional-Gadget");
PrintIText (WPtr^.rPort,ADR(IText),10,85);
iText := ADR("Y - Create vertical Proportional-Gadget");
PrintIText (WPtr^.rPort,ADR(IText),10,95);
iText := ADR("Z - Create 2-dimensional Proportional-Gadget");
PrintIText (WPtr^.rPort,ADR(IText),10,105);
iText := ADR("HELP - This Info");
PrintIText (WPtr^.rPort,ADR(IText),10,115);
iText := ADR(" © 1990 Hubert Bildstein");
PrintIText (WPtr^.rPort,ADR(IText),10,130);
iText := ADR(" Gehenbühlstr.5, W7000 Stuttgart 31, Germany");
PrintIText (WPtr^.rPort,ADR(IText),10,140);
iText := ADR(" This program is Public Domain");
PrintIText (WPtr^.rPort,ADR(IText),10,150);
END; (*WITH*)
WaitForMsg (WPtr,class,code,adr);
CloseAll;
END Help;
(*-------------------------------------------------------------------------*)
BEGIN
TermProcedure (CloseAll); (* für Fehler *)
WPtr := NIL;
(* IntuiText-Record inititalisieren *)
WITH IText DO
frontPen := 1; backPen := 0; drawMode := jam2;
leftEdge := 0; topEdge := 0;
iTextFont := NIL; nextText := NIL;
END; (*WITH*)
END TextWindows.